/**
 * 
 */
package cosc617_blackteam;

/**
 * @author Laura A state representing the customer waiting to be seated
 * 
 */
public class StateUnseated implements I_CustomerState {
	private CustomerParty customer;

	public StateUnseated(CustomerParty customerParty) {
		this.customer = customerParty;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cosc617_blackteam.I_CustomerState#assignToTable()
	 */
	@Override
	public void assignToTable() {
		// change state to waiting for food
		customer.setState(customer.getStateWaitingForFood());
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cosc617_blackteam.I_CustomerState#deliverFood()
	 */
	@Override
	public void deliverFood() {
		// Does nothing if customer is not seated

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cosc617_blackteam.I_CustomerState#decrimentTimeToEat()
	 */
	@Override
	public void decrimentTimeToEat() {
		// does nothing if customer is not seated

	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see cosc617_blackteam.I_CustomerState#removeParty()
	 */
	@Override
	public boolean unseatCustomer() {
		// is not ready to be unseated in this state
		return false;

	}

	@Override
	public boolean needsSeating() {
		return true;
	}

}
